
/*
    Mybatis：
 */
/*
    Mybatis：(简单语句零配置，复杂语句简单化)
        概念：MyBatis 是一款优秀的持久层框架，它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
             MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息，将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
             简单的来说就是：Mybatis是一个实现数据持久化的开源框架，简单理解为就是对JDBC进行封装。
                           开发者只需要关注sql语句本身，而不是去花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程


        优点：
            1.与JDBC减少了一半以上的代码量
            2.Mybatis是简单的持久化框架，简单，容易学习
            3.相对灵活 sql写在xml中，从程序代码中直接分离，降低耦合，便于管理优化
            4.支持动态sql
            5.提供映射标签 支持对象与数据库中的ORM字段映射
            6. MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便，所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。

        Mybatis的功能架构分为三层：
            1、API接口层（dao层）：提供给外部使用的接口API，开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
            2、数据处理层（mapper层）：负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
            3、基础支撑层（bean层）：负责最基础的功能支撑，包括连接管理、事务管理、配置加载和缓存处理，这些都是共用的东西，将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。


        实现步骤：
               1.创建bean层，用于连接数据库
               2.创建dao层，定义接口，用来给实现类提供实现方法
               3.创建mapper层，定义xml（配置文件）
               4.在resiurces文件夹下创建配置文件，用于配置mybatis环境，并连接相应的数据库，在这之后执行映射
       具体步骤：在以上步骤都准备好了之后，1.由resiurces文件夹下创建配置文件先执行，去配置mybatis环境，并连接相应的数据库，
                然后执行其中的映射配置文件，映射mapper层对应路径下的配置文件，2.然后mapper层对应路径下的配置文件与dao层下
                的对应接口形成一个一对一的映射关系，3.当在测试类中执行 sqlSession.getMapper(接口名.class)后，就为对应的
                接口创建了一个代理实现对象，4.当有了这个代理对象后，从而读取mapper层对应路径下的配置文件中的select标签中的sql语句，并将
                返回结果传给bean层中的对应数据（达到给数据赋值的效果），6.最后通过调用实现的接口方法，实现sql的执行


       使用快速形成mybatis方法：在E:\idea\Mybaits_generator\generator中使用，先更改generator.xml中的数据，在使用cmd找到
                              E:\idea\Mybaits_generator\generator，
                              再执行java -jar mybatis-generator-core-1.4.0.jar -configfile generator.xml -overwrite，
                              从而生成com文件

        也可以不使用快速形成mybatis方法，通过代码编写


    高级映射：多表之间的操作
        具体步骤：
            1.现在bean层类中定义好表与表之间的映射关系 （一对一，还是一对多...）
            2.在dao层接口中定义对应的方法
            3.在mapper层中的配置文件中
                      1.定义好表之间的映射关系
                      2.定义表之间的查询关系
            4.在resources层中执行具体的映射
            5.通过测试类完成测试

    添加log4j配置文件
 */
public class DiJi {

}
